package com.zzuli.yxypre.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @auther pony
 * @create 2023-04-28 15:23
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Album{
    private Integer albumId; //专辑id
    private String albumName; //专辑名字
    @DateTimeFormat(pattern="yyyy-MM-dd") //从前台接受的时间字符串格式，若格式不对应则抛出异常
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") //将Date日期格式化为指定格式的字符串
    private Date albumReleaseTime; //发行时间
    private String albumCompany; //发行公司
    private String albumRemarks; //专辑备注
    private String albumImg; //专辑图片
    private Integer albumStatus; //专辑状态

    // 不映射数据库
    @TableField(exist = false)
    private List<Singer> SingerList; //专辑歌手

    // 专辑下的所有歌曲
    @TableField(exist = false) //此属性不映射数据库
    private List<Song> songList; //专辑下的歌曲

    // 专辑的评论数
    @TableField(exist = false) //此属性不映射数据库
    private Integer commentCount; //专辑下的歌曲

    //是否被登录用户所喜欢 不映射数据库
    @TableField(exist = false)
    private Integer isLove; //喜欢 1:喜欢 2：不喜欢
}
